两个简单的C程序错误[貌私是IF错误和一个语法错误(和除发有关还是什么的)]

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:18:05
两个简单的C程序
貌私是IF错误和一个语法错误(和除发有关还是什么的?)

#include<stdio.h>
#include<windows.h>

long int a;
long int b;
long int c;
int x;

void main()
{
printf("请输入第一个数字");
scanf("%ld",&a);
printf("请输入第二个数字");
scanf("%ld",&b);
printf("请输运算符/n1.加法/n2.减法/n3.乘法/n4.除法");
scanf("%d",&x);
if (x=4);
if (b=0);
printf("被除数为0,无法计算\n\n\n\n\n");
else if //第1个错误
c=a/b; //第2个错误
printf("答案为%ld",c);

if (x=1);
c=a+b;
printf("答案为%ld",c);

if (x=2);
c=a-b;
printf("答案为%ld",c);

if (x=3);
c=a*b;
printf("答案为%ld",c);
}

以上代码
以下调试结果

--------------------Configuration: 1 - Win32 Debug--------------------

long int a;
long int b;
long int c;
int x;

void main()
{
printf("请输入第一个数字");
scanf("%ld",&a);
printf("请输入第二个数字");
scanf("%ld",&b);
printf("请输运算符/n1.加法/n2.减法/n3.乘法/n4.除法");
scanf("%d",&x);
if (x==4)
{
if (b==0)
printf("被除数为0,无法计算\n\n\n\n\n");
else //第1个错误
c=a/b; //第2个错误
printf("答案为%ld",c);
}

if (x==1)
{
c=a+b;
printf("答案为%ld",c);
}

if (x==2)
{
c=a-b;
printf("答案为%ld",c);
}

if (x==3)
{
c=a*b;
printf("答案为%ld",c);
}
}

你的错误可不是两个这么简单
1:你所有的if语句都是类似 if (x=1);这样写的,不能有分号,语法错误。
2:你所有的if语句都是类似 if (x=1);这样写的,不是是=,要是==,代码bug。
3:else if 后面没有条件判断,你加else if 干嘛?直接else就完了。
4:类似if (x==1)这样的语句后面你都没有{}括起来,这样的话你的pri